pub mod btree;

use crate::data::log_record::LogRecordPos;

pub trait Indexer: Sync + Send {
    // 向索引中存储 key 对应的数据位置信息
    fn put(&self, key: Vec<u8>, pos: LogRecordPos) -> bool;
    // 根据给定的 key 获取数据位置信息
    fn get(&self, key: Vec<u8>) -> Option<LogRecordPos>;
    // 删除给定 key 的数据位置信息
    fn delete(&self, key: Vec<u8>) -> bool;
}
